home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
PROGRAMMING
/
DESKLIBC
/
SOURCES.ZIP
/
DeskLib
/
!DLSources
/
Libraries
/
Event
/
DLL
/
MakeDLL
< prev
next >
Wrap
Text File
|
1995-07-08
|
3KB
|
138 lines
ObjectFiles = \
o.Event \
o.MClaimInit \
o.MRelease \
o.MRelMsg \
o.MRelWindow \
o.taskname \
LibName = Event
# Template makefile to make Straylight Dynamic Link
# Library from a DeskLib sublibrary's .o files
#
# The DLL is made in the directory
# '<DeskLib$Dir>.!DLLs.Freeware_1.DeskLib.'
# and has the same name as the DeskLib sublibrary.
#
# Julian Smith 17 Apr 1995.
# The macro $(ObjectFiles) should be set at the
# start of this file, to be a space-separated
# list of object files.
# This is done by 'Makatic'.
# The macro $(LibName) should also be set at the
# start of this file, to be the name of the
# DeskLib sublibrary.
# This is done by 'Makatic'.
# Note that this makefile doesn't use cc at all
# - it merely links existing .o files.
# Linker flags, These can be anything.
# All flags required by Straylight (eg Link -rmf)
# are included in the $(LINK) macro.
#
LinkFlags = $(LinkExtra)
# Macros for commands, including the Straylight
# tool 'cdll'. Note that DRLink doesn't seem to
# work with the SDLS.
#
LINK = Link -rmf
CDLL = cdll
# Filename of the thing we need to make: - the main
# dynamically-linked library, which will go in the
# !DLL application.
# NB The leafname of $(DLL_Lib) file (after copying into the !DLL
# application) should be the same as the 'name' field in the
# $(DLL_Def) file. In this case, this is $(LibName).
#
DLL_Lib = <DeskLib$Dir>.!DLLs.Freeware_1.DeskLib.$(LibName)
# Filenames of intermediate files needed to make $(DLL_Lib) and $(DLL_Stubs).
#
DLL_Header = Header
DLL_Def = ^.DLLDef
DLL_Stubs = Stubs
# -------------------------------------------------------
# Everything below here should probably not be changed...
# -------------------------------------------------------
# Extra libs, written by Straylight, which always need to be linked into a DLL
#
SDLS_ExtraObjects= \
C:DLLLib.o.DLLLib \
C:DLLLib.o.dstubs \
# Extra DeskLib libraries which need to be linked into the final DLL.
# The DLL DeskLib library is included here because some DeskLib DLLs may
# refer to other DeskLib DLLs.
# Note that DeskLib:o.DLL contains all the DLL.o.* files except for
# the sublibraries for which there is a DLL - just the DLL Stubs file
# is included for these.
#
DeskLib_ExtraObjects= \
DeskLib:o.DLLDLL \
#Here's what we want to make...
All: $(DLL_Lib)
$(DLL_Lib): $(DeskLib_ExtraObjects) $(SDLS_ExtraObjects) $(DLL_Header) $(ObjectFiles)
$(LINK) $(LinkFlags) -o $@ $(ObjectFiles) $(DeskLib_ExtraObjects) $(SDLS_ExtraObjects) $(DLL_Header)
# Here's how to make the things which are needed in the above rules
$(DLL_Def):
| Error: No DLL definition file exists.
| You should run th MkStubsOs makefile
| and then alter the template Def
| file by hand.
$(DLL_Header): $(DLL_Def)
$(CDLL) -def $(DLL_Def) -hdr $(DLL_Header)
# Rule for compiling C source code for a Straylight dynamically-linked library.
# Actually, we don't call cc - we complain and tell the user to run the
# MkStubsOs makefile.
VPATH = @.^
.SUFFIXES: .o .c .s
.c.o:
| $@ needs recompiling. This should be done by
| running the MkStubsOs or MkOs makefile before running
| this makefile.
|
.s.o:
| $@ needs assembling. This should be done by
| running the MkStubsOs or MkOs makefile before running
| this makefile.
|
# Dynamic dependencies: